#include<iostream>
#include<map>
using namespace std;
//泛性编程是会出向嵌套模板函数  导致出现>>  编译器会错误的识别为右移运算符 而不是模板的参数类表的结束
//func<A<>>  导致解析失败  C++11之后将>>尽可能的识别为类模板的参数的结束

template<class T>
class Container
{
    public:
        void print(T &t)
        {

         auto it = t.begin();
         for (; it !=t.end();it++)
         {
             cout << it->first << "," << it->second << endl;
         }
        }
};

int main()
{
    map<int,string> a;
    a.insert(make_pair(1, "ace"));
    a.insert(make_pair(2, "sabo"));
    Container<map<int, string>> c;
    c.print(a);
    return 0;
}